

def get_matrix(n): #n是行数
    matrix = []
    for i in range(n):
        line=[float(item) for item in input().strip().split()]
        matrix.append(line)

    A=[]
    y=[]
    for i in range(n):
        line=[matrix[i][j] for j in range(len(matrix[0])-1)]
        A.append(line)
        y.append(matrix[i][len(matrix[0])-1])
    return A,y

def get_vector():
    return [float(item) for item in input().strip().split()]

#方程组对应的矩阵 常数列 初始值 误差上限 迭代次数上限
def solve(M,y,x0,e,N,w):
    row=len(M)
    col=len(M[0])


    x_norm=sum([item**2 for item in x0])
    cnt=0
    while cnt<N:
        x = [item for item in y]
        x0_norm=x_norm

        for i in range(row):
            for j in range(col):
                if i<j:
                    x[i] -= M[i][j] * x0[j]
                elif i>j :
                    x[i] -= M[i][j] * x[j]
            x[i]/=M[i][i]
        for i in range(row):
            x[i]*=w
            x[i]+=(1-w)*x0[i]

        cnt+=1

        x_norm=sum([item**2 for item in x])
        if abs(x_norm-x0_norm)<e:
            break

        x0=[item for item in x]

    #print(cnt)
    return x

if __name__=='__main__':
    A,y=get_matrix(3)

    #print(A)
    print("%.3f %.3f %.3f"%tuple(solve(A,y,[0,0,0],0.000001,1000,1.2)))






